This invention relates to an automatic machine application program development system, which maintains the advantage of a common flowchart conventionally used for programming (referred to a conventional flowchart) and extends the conventional flowchart so that all programs essential for the operation of an automatic machine can be described, and computer products.
Programming languages conventionally used when describing a program for operating general-purpose automatic machines such as machine tools, industrial automatic machines such as industrial robots, autonomous robots and various automated facilities used in the field of factory automation (FA) have advantages and disadvantages.
For example, when the text language represented by C Language describes a program, the program grammar must be learnt, and hence in order to actually describe the program, a programmer must learn the skills thereof, which requires labor. The program described in the text language is not compatible with a display format by graphics, that is, graphical format, and hence it is not suitable from the standpoint of legibility (visual plainness and readability).
When a program is described by the Ladder Diagram (referred to as LD), being another language, this LD starting from a relay circuit is adaptable to the event-driven programming, but has a problem in that sequence processing essential for the operation of the automatic machine is hard to be described. Since description which hierarchizes the program, such as subroutine, cannot be done, it is difficult to create a large-scale and advanced modular program. Further, the program created by the LD has another problem in that reusability is low.
In a case of program description by a function block diagram (referred to as FBD), the data flow is expressed graphically by a combination of function blocks, and hence description is easy to understand, without requiring learning of the program grammar as in the text language, and the legibility of the described program is excellent. Hence, it is suitable for describing a program for continuous data processing. However, since the processing is gathered in the function block, it is not suitable for describing a program for sequence control such as sequence processing. Also in this instant, the program for operating the general automatic machine by the controller is mainly a program for sequence control such as sequence processing, and hence it cannot be said that the program description by the FBD is an optimum language for the controller.
When a program is described using a state transition diagram, an interruption program such that the automatic machine is urgently stopped in a safe manner when an emergency stop button is pressed, can be described graphically, and the legibility of the described program is excellent without requiring learning of the program grammar like the text language. The state transition diagram, however, is expressed mainly for the status maintenance or status transition, and hence the description of programs of the sequence control such as sequence processing is inferior in legibility. In view of this point, a flow chart type method described later has superior legibility of the described program to the state transition diagram.
When a program is described using a sequential function chart (referred to SFC), this SFC developed from the existing technique is a description language defined by the International Standard and expressed in the state transition diagram, where a step which is an operation output and a transition which is a condition input are coupled by an arc, and parallel branches can be also expressed. The SFC also conforms to the sequence control program such as sequence processing, which is a program for operating the general automatic machine by a controller, to some extent, and is also suitable for description of an interruption program (event-driven program), such that when an emergency stop button is pressed, the automatic machine is urgently stopped in a safe manner. However, as described above, the graphical expression such as coupling of the step and transition by an arc has poor legibility, and a big negative factor is that it is not familiar to the general public. The expression of parallel branches is a description close to extension of the LD which performs simultaneous parallel processing.
As described above, there are various programming languages for describing a program for operating an automatic machine, but these languages have advantages and disadvantages, respectively. Since the program for operating the general automatic machine by a controller is a sequence control program such as sequence processing, the present inventor has paid attention to the conventional flowchart.
The conventional flowchart is for describing the flow of the sequence control program such as sequence processing graphically in a chart format, and the legibility of the described program is excellent without requiring learning of the program grammar. This is a graphical form most familiar to the general public.
However, it is not suitable for describing, for example, the interruption program. That is, the description of the interruption program (event-driven program), such that the automatic machine is urgently stopped in a safe manner when an emergency stop button is pressed, is very important. The conventional flowchart conforms to this application to some extent, but it is not the best for the application. That is, the conventional flowchart cannot describe all programs essential for the operation of the automatic machine.
In Japanese Patent Application No. 11-45103, as the conventional art, there is an interruption description in the flowchart, but the start of interruption or the graphic expression of interruption is hard to understand, and there is a disadvantage in legibility. Further, the interruption condition setting method is different from the method of the present invention described later.
It is an object of this invention to obtain an automatic machine application program development system which makes the best use of the advantages of the conventional flowchart suitable for description of the sequence control program such as sequence processing, and enables description of parallel execution processing, interruption processing and the like by extending the conventional flowchart, in other words, which makes it possible to describe all programs essential for the operation of automatic machines, and computer products.
The automatic machine application program development system according to one aspect of this invention, comprises a program development unit which includes a tool area in which a new component, being an element for describing a program as a flowchart, is installed, and a drawing area for creating a flowchart using this new component. The new component includes at least one of a parallel execution component intervened in the flowchart in the drawing area and having a single input and a plurality of outputs and a parallel execution waiting component being in pair with this parallel execution component and having a plurality of inputs and a single output, an interruption component arranged using an interruption line extended in a direction perpendicular to a main stream of the flowchart, and a subroutine component intervened in the flowchart and including a subroutine program.
The automatic machine application program development system according to another aspect of this invention, comprises a program execution unit which executes a flowchart developed in a drawing area using a new component. The new component, being an element for describing a program as a flowchart, includes at least one of a parallel execution component intervened in the flowchart in the drawing area and having a single input and a plurality of outputs and a parallel execution waiting component being in pair with this parallel execution component and having a plurality of inputs and a single output, an interruption component arranged using an interruption line extended in a direction perpendicular to a main stream of the flowchart, and a subroutine component intervened in the flowchart and including a subroutine program.
According to the computer program as still another aspect of this invention, a program development method according to still another aspect of this invention, comprises steps of installing a new component, being an element for describing a program as a flowchart, in a tool area, and developing a flowchart using the new component in a drawing area. The new component includes at least one of a parallel execution component intervened in the flowchart in the drawing area and having a single input and a plurality of outputs and a parallel execution waiting component being in pair with this parallel execution component and having a plurality of inputs and a single output, an interruption component arranged using an interruption line extended in a direction perpendicular to the main stream of the flowchart, and a subroutine component intervened in the flowchart and including a subroutine program, can be executed by a computer.
According to the recording medium which stores the computer program as still another aspect of this invention, a program development method according to still another aspect of this invention, comprises steps of installing a new component, being an element for describing a program as a flowchart, in a tool area, and developing a flowchart using the new component in a drawing area. The new component includes at least one of a parallel execution component intervened in the flowchart in the drawing area and having a single input and a plurality of outputs and a parallel execution waiting component being in pair with this parallel execution component and having a plurality of inputs and a single output, an interruption component arranged using an interruption line extended in a direction perpendicular to the main stream of the flowchart, and a subroutine component intervened in the flowchart and including a subroutine program, can be executed by a computer.
Other objects and features of this invention will become apparent from the following description with reference to the accompanying drawings.